package dujiu.leetcode.slidingWindow.fixed_lengthSlidingWindow;

import java.util.HashMap;
import java.util.Map;

public class P904 {
    public int totalFruit(int[] fruits) {
        int n = fruits.length;
        int left = 0;
        int ans = 0;
        Map<Integer,Integer> map = new HashMap<Integer,Integer>();
        for (int right = 0; right < n; right++) {
            map.put(fruits[right],map.getOrDefault(fruits[right],0)+1);
            while (map.size() > 2){
                map.put(fruits[left],map.get(fruits[left])-1);
                if (map.get(fruits[left]) == 0){
                    map.remove(fruits[left]);
                }
                left++;
            }
            ans = Math.min(ans,right-left+1);
        }
        return ans;
    }
}
